﻿<UserControl
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Height="280" Width="1000">
    <UserControl.Resources>
        <Storyboard x:Key="sbdShowNum">
            <ObjectAnimationUsingKeyFrames Storyboard.TargetName="NumKeyboard" Storyboard.TargetProperty="(UIElement.Visibility)">
                <ObjectAnimationUsingKeyFrames.KeyFrames>
                    <DiscreteObjectKeyFrame KeyTime="00:00:0.001">
                        <DiscreteObjectKeyFrame.Value>
                            <Visibility>Visible</Visibility>
                        </DiscreteObjectKeyFrame.Value>
                    </DiscreteObjectKeyFrame>
                </ObjectAnimationUsingKeyFrames.KeyFrames>
            </ObjectAnimationUsingKeyFrames>
            <!--<DoubleAnimation 
  	            Storyboard.TargetName="NumKeyboard"  
	            Storyboard.TargetProperty="Opacity" 
	             From="0"  
	             To="1"  
	             Duration="0:0:0.5"  
	             />  
	            <DoubleAnimation
  	            Storyboard.TargetName="AlfaKeyboard"  
	            Storyboard.TargetProperty="Opacity" 
	             From="1"  
	             To="0"  
	             Duration="0:0:0.5"  
	         />-->
        </Storyboard>
        <Storyboard x:Key="sbdShowAlfa">
          <ObjectAnimationUsingKeyFrames Storyboard.TargetName="NumKeyboard" Storyboard.TargetProperty="(UIElement.Visibility)">
                <ObjectAnimationUsingKeyFrames.KeyFrames>
                    <DiscreteObjectKeyFrame KeyTime="00:00:0.001">
                        <DiscreteObjectKeyFrame.Value>
                            <Visibility>Collapsed</Visibility>
                        </DiscreteObjectKeyFrame.Value>
                    </DiscreteObjectKeyFrame>
                </ObjectAnimationUsingKeyFrames.KeyFrames>
            </ObjectAnimationUsingKeyFrames>
            <!--<DoubleAnimation 
  	            Storyboard.TargetName="AlfaKeyboard"  
	            Storyboard.TargetProperty="Opacity" 
	             From="0"  
	             To="1"  
	             Duration="0:0:0.5"  
	             />
                        <DoubleAnimation
  	            Storyboard.TargetName="NumKeyboard"  
	            Storyboard.TargetProperty="Opacity" 
	             From="1"  
	             To="0"  
	             Duration="0:0:0.5"  
	       />-->
        </Storyboard>

        <Storyboard x:Key="sbFlashBigKey">
            <!--briefly display and hide (flash) a large label with the name of the just pressed key-->
            
        <!--<DoubleAnimation 
  	            Storyboard.TargetName="AlfaKeyboard"  
	            Storyboard.TargetProperty="Opacity" 
	             From="1"  
	             To="0"  
	             Duration="0:0:0.2"  
	             />  
	            <DoubleAnimation
  	            Storyboard.TargetName="AlfaKeyboard"  
	            Storyboard.TargetProperty="Opacity" 
	             From="0"  
	             To="1"  
	             Duration="0:0:0.2"  
	         />-->
        </Storyboard>
        
        <DropShadowEffect x:Key="DropShadowEffect" ShadowDepth="1" Direction="-90" BlurRadius="3" />
        <Style TargetType="Button">
            <Setter Property="ClickMode" Value="Press"/>
            <Setter Property="Margin" Value="4"/>
            <Setter Property="Button.Effect" Value="{StaticResource DropShadowEffect}"/>
            <Setter Property="FontSize" Value="22"/>
        </Style>
    </UserControl.Resources>

    <UserControl.Triggers>
        <EventTrigger RoutedEvent="Button.Click">
            <EventTrigger.Actions>
                <SoundPlayerAction Source="Media/Click2.wav" />
                <BeginStoryboard Storyboard="{StaticResource sbFlashBigKey}" />
            </EventTrigger.Actions>
        </EventTrigger>
        
        <EventTrigger RoutedEvent="Button.Click"
	  SourceName="btnShowNum">
            <EventTrigger.Actions>
                <BeginStoryboard Storyboard="{StaticResource sbdShowNum}">
                </BeginStoryboard>
            </EventTrigger.Actions>
        </EventTrigger>
        <EventTrigger RoutedEvent="Button.Click"
	  SourceName="btnShowAlfa">
            <EventTrigger.Actions>
                <BeginStoryboard Storyboard="{StaticResource sbdShowAlfa}"/>
            </EventTrigger.Actions>
        </EventTrigger>
    </UserControl.Triggers>

    <Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
        <Grid VerticalAlignment="Stretch" x:Name="AlfaKeyboard" Background="{DynamicResource IPhoneSteelBackground}">
            <Grid.RowDefinitions>
                <RowDefinition Height="0" />
                <RowDefinition x:Name="NumberKeys" Height="0"/>
                <RowDefinition/>
                <RowDefinition/>
                <RowDefinition/>
                <RowDefinition/>
            </Grid.RowDefinitions>
            <Grid Grid.Row="0" x:Name="FunctionKeys" Opacity="0">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                </Grid.ColumnDefinitions>

                <Button Grid.Column="0"	Command="{Binding Path=PressAndRelease}" CommandParameter="ESCAPE" Content="Esc" />
                <Button Grid.Column="1" Command="{Binding Path=PressAndRelease}" CommandParameter="F1" Content="F1" />
                <Button Grid.Column="2" Command="{Binding Path=PressAndRelease}" CommandParameter="F2" Content="F2" />
                <Button Grid.Column="3" Command="{Binding Path=PressAndRelease}" CommandParameter="F3" Content="F3" />
                <Button Grid.Column="4" Command="{Binding Path=PressAndRelease}" CommandParameter="F4" Content="F4" />
                <Button Grid.Column="5" Command="{Binding Path=PressAndRelease}" CommandParameter="F5" Content="F5" />
                <Button Grid.Column="6" Command="{Binding Path=PressAndRelease}" CommandParameter="F6" Content="F6" />
                <Button Grid.Column="7" Command="{Binding Path=PressAndRelease}" CommandParameter="F7" Content="F7" />
                <Button Grid.Column="8" Command="{Binding Path=PressAndRelease}" CommandParameter="F8" Content="F8" />
                <Button Grid.Column="9" Command="{Binding Path=PressAndRelease}" CommandParameter="F9" Content="F9" />
                <Button Grid.Column="10" Command="{Binding Path=PressAndRelease}" CommandParameter="F10" Content="F10"  />
                <Button Grid.Column="11" Command="{Binding Path=PressAndRelease}" CommandParameter="F11" Content="F11"  />
                <Button Grid.Column="12" Command="{Binding Path=PressAndRelease}" CommandParameter="F12" Content="F12"  />
            </Grid>
            <Grid Grid.Row="1">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="0"/>
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition Width="0" />
                    <ColumnDefinition Width="0" />
                    <ColumnDefinition Width="2*" />
                </Grid.ColumnDefinitions>
                <Button Grid.Column="1" Command="{Binding Path=PressAndRelease}" CommandParameter="_1" Content="1"/>
                <Button Grid.Column="2" Command="{Binding Path=PressAndRelease}" CommandParameter="_2" Content="2"/>
                <Button Grid.Column="3" Command="{Binding Path=PressAndRelease}" CommandParameter="_3" Content="3"/>
                <Button Grid.Column="4" Command="{Binding Path=PressAndRelease}" CommandParameter="_4" Content="4"/>
                <Button Grid.Column="5" Command="{Binding Path=PressAndRelease}" CommandParameter="_5" Content="5"/>
                <Button Grid.Column="6" Command="{Binding Path=PressAndRelease}" CommandParameter="_6" Content="6"/>
                <Button Grid.Column="7" Command="{Binding Path=PressAndRelease}" CommandParameter="_7" Content="7"/>
                <Button Grid.Column="8" Command="{Binding Path=PressAndRelease}" CommandParameter="_8" Content="8" />
                <Button Grid.Column="9" Command="{Binding Path=PressAndRelease}" CommandParameter="_9" Content="9"/>
                <Button Grid.Column="10" Command="{Binding Path=PressAndRelease}" CommandParameter="_0" Content="0"/>
                <Button Grid.Column="13" Command="{Binding Path=PressAndRelease}" CommandParameter="BACK" Content="Backspace"/>
            </Grid>
            <Grid Grid.Row="2">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="0"/>
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition Width="0"/>
                    <ColumnDefinition Width="0"/>
                    <ColumnDefinition />
                </Grid.ColumnDefinitions>
                <Button Grid.Column="1" Command="{Binding Path=PressAndRelease}" CommandParameter="Q" Content="Q"/>
                <Button Grid.Column="2" Command="{Binding Path=PressAndRelease}" CommandParameter="W" Content="W"/>
                <Button Grid.Column="3" Command="{Binding Path=PressAndRelease}" CommandParameter="E" Content="E"/>
                <Button Grid.Column="4" Command="{Binding Path=PressAndRelease}" CommandParameter="R" Content="R"/>
                <Button Grid.Column="5" Command="{Binding Path=PressAndRelease}" CommandParameter="T" Content="T"/>
                <Button Grid.Column="6" Command="{Binding Path=PressAndRelease}" CommandParameter="Y" Content="Y"/>
                <Button Grid.Column="7" Command="{Binding Path=PressAndRelease}" CommandParameter="U" Content="U"/>
                <Button Grid.Column="8" Command="{Binding Path=PressAndRelease}" CommandParameter="I" Content="I"/>
                <Button Grid.Column="9" Command="{Binding Path=PressAndRelease}" CommandParameter="O" Content="O"/>
                <Button Grid.Column="10" Command="{Binding Path=PressAndRelease}" CommandParameter="P" Content="P"/>
                <Button Grid.Column="13" Command="{Binding Path=PressAndRelease}" CommandParameter="BACK" HorizontalContentAlignment="Right" Padding="10" >
                    <Path Stretch="Fill" Width="36" Height="24" Data="F1M555.0371,274.4893L552.7871,276.7383L549.9861,273.9373L547.1991,276.7243L545.1131,274.6393L547.9001,271.8523L545.0101,268.9603L547.2601,266.7113L550.1501,269.6023L552.8921,266.8613L554.9761,268.9463L552.2361,271.6883z M555.3751,264.0003L544.8751,264.0003C543.1251,264.1253,535.0001,270.7503,535.0001,272.2503C535.0001,273.7503,543.1251,279.3753,544.8751,279.5003L555.3751,279.5003C558.8751,279.5003,559.3751,277.7093,559.3751,275.5003L559.3751,268.0003C559.3751,265.7913,558.7501,264.0003,555.3751,264.0003" Fill="#FF333333"></Path>
                </Button>

            </Grid>
            <Grid Grid.Row="3">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="0.3*"/>
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition Width="0"/>
                    <ColumnDefinition Width="0"/>
                    <ColumnDefinition Width="1.55*"/>
                </Grid.ColumnDefinitions>
                <Button Grid.Column="1" Command="{Binding Path=PressAndRelease}" CommandParameter="A" Content="A"/>
                <Button Grid.Column="2" Command="{Binding Path=PressAndRelease}" CommandParameter="S" Content="S"/>
                <Button Grid.Column="3" Command="{Binding Path=PressAndRelease}" CommandParameter="D" Content="D"/>
                <Button Grid.Column="4" Command="{Binding Path=PressAndRelease}" CommandParameter="F" Content="F"/>
                <Button Grid.Column="5" Command="{Binding Path=PressAndRelease}" CommandParameter="G" Content="G"/>
                <Button Grid.Column="6" Command="{Binding Path=PressAndRelease}" CommandParameter="H" Content="H"/>
                <Button Grid.Column="7" Command="{Binding Path=PressAndRelease}" CommandParameter="J" Content="J"/>
                <Button Grid.Column="8" Command="{Binding Path=PressAndRelease}" CommandParameter="K" Content="K"/>
                <Button Grid.Column="9" Command="{Binding Path=PressAndRelease}" CommandParameter="L" Content="L"/>
                <Button Grid.Column="12" Command="{Binding Path=PressAndRelease}" CommandParameter="RETURN" Content="return" HorizontalContentAlignment="Right" Padding="10"/>

            </Grid>
            <Grid Grid.Row="4">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="1*"/>
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition Width="*"/>
                    <ColumnDefinition Width="*"/>
                    <ColumnDefinition Width="0"/>
                    <ColumnDefinition Width="1.1*"/>
                </Grid.ColumnDefinitions>
                <Button Grid.Column="0" Command="{Binding Path=PressAndHold}" CommandParameter="LSHIFT">
                    <Path Fill="#FF333333" Stretch="Fill" Width="28" Height="24" Data="F1M269.5,262C269.026,262,268.552,262.168,268.171,262.505L259.671,270.505C259.05,271.057,258.835,271.935,259.131,272.71C259.425,273.487,260.169,274,261,274L265,274L265,278C265,279.104,265.896,280,267,280L272,280C273.104,280,274,279.104,274,278L274,274L278,274C278.81,274,279.538,273.513,279.849,272.766C280.157,272.018,279.986,271.158,279.415,270.585L270.914,262.586C270.524,262.197,270.013,262,269.5,262 M269.5,264L278,272L272,272L272,278L267,278L267,272L261,272L269.5,264"/>
                </Button>
                <Button Grid.Column="1" Command="{Binding Path=PressAndRelease}" CommandParameter="Z" Content="Z"/>
                <Button Grid.Column="2" Command="{Binding Path=PressAndRelease}" CommandParameter="X" Content="X"/>
                <Button Grid.Column="3" Command="{Binding Path=PressAndRelease}" CommandParameter="C" Content="C"/>
                <Button Grid.Column="4" Command="{Binding Path=PressAndRelease}" CommandParameter="V" Content="V"/>
                <Button Grid.Column="5" Command="{Binding Path=PressAndRelease}" CommandParameter="B" Content="B"/>
                <Button Grid.Column="6" Command="{Binding Path=PressAndRelease}" CommandParameter="N" Content="N"/>
                <Button Grid.Column="7" Command="{Binding Path=PressAndRelease}" CommandParameter="M" Content="M"/>
                <Button Grid.Column="8" Command="{Binding Path=PressAndRelease}" CommandParameter="OEM_COMMA" >
                    <Grid>
                        <Grid.RowDefinitions>
                            <RowDefinition/>
                            <RowDefinition/>
                        </Grid.RowDefinitions>
                        <Label Margin="0, -10">!</Label>
                        <Label Margin="0, -10" Grid.Row="1">,</Label>
                    </Grid>
                </Button>
                <Button Grid.Column="9" Command="{Binding Path=PressAndRelease}" CommandParameter="OEM_PERIOD" >
                    <Grid>
                        <Grid.RowDefinitions>
                            <RowDefinition/>
                            <RowDefinition/>
                        </Grid.RowDefinitions>
                        <Label Margin="0, -10">?</Label>
                        <Label Margin="3, -10" Grid.Row="1">.</Label>
                    </Grid>
                </Button>
                <Button Grid.Column="13" Command="{Binding Path=PressAndHold}" CommandParameter="RSHIFT">
                    <Path Fill="#FF333333" Stretch="Fill" Width="28" Height="24" Data="F1M269.5,262C269.026,262,268.552,262.168,268.171,262.505L259.671,270.505C259.05,271.057,258.835,271.935,259.131,272.71C259.425,273.487,260.169,274,261,274L265,274L265,278C265,279.104,265.896,280,267,280L272,280C273.104,280,274,279.104,274,278L274,274L278,274C278.81,274,279.538,273.513,279.849,272.766C280.157,272.018,279.986,271.158,279.415,270.585L270.914,262.586C270.524,262.197,270.013,262,269.5,262 M269.5,264L278,272L272,272L272,278L267,278L267,272L261,272L269.5,264"/>
                </Button>
            </Grid>
            <Grid Grid.Row="5">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition  Width="5*"  />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                </Grid.ColumnDefinitions>
                <Button x:Name="btnShowNum" Grid.Column="0" ClickMode="Press" Content=".?123" />
                <Button Grid.Column="1" Command="{Binding Path=PressAndHold}" CommandParameter="LCONTROL" Content="Ctrl" />
                <Button x:Name="btnWindows" Grid.Column="2" Command="{Binding Path=PressAndHold}" CommandParameter="LWIN" FontFamily="WingDings">
                    z</Button>
                <!-- wingdings Windows Logo: ÿ -->
                <!-- wingdings apple cmd key: z -->
                <Button Grid.Column="3" Command="{Binding Path=PressAndRelease}" CommandParameter="SPACE" Content=" "/>
                <Button Grid.Column="4" Command="{Binding Path=PressAndHold}" CommandParameter="MENU" Content="Alt" />
                <Button Grid.Column="5" Command="{Binding Path=PressAndHold}" CommandParameter="LMENU" FontFamily="WingDings">
                    3</Button>
                <Button Grid.Column="6" Command="{Binding Path=PressAndHold}" CommandParameter="RSHIFT" Content=".?123" />
            </Grid>
        </Grid>
        <Grid Grid.Row="0" x:Name="NumKeyboard" Background="{DynamicResource IPhoneSteelBackground}" Margin="0,0,0,0" Visibility="Collapsed">
            <Grid.RowDefinitions>
                <RowDefinition Height="0"/>
                <RowDefinition />
                <RowDefinition/>
                <RowDefinition Height="0"/>
                <RowDefinition/>
                <RowDefinition Height="*"/>
            </Grid.RowDefinitions>
            <Grid Grid.Row="0">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                </Grid.ColumnDefinitions>

                <Button Grid.Column="0"	Command="{Binding Path=PressAndRelease}" CommandParameter="ESCAPE" Content="Esc" />
                <Button Grid.Column="1" Command="{Binding Path=PressAndRelease}" CommandParameter="F1" Content="F1" />
                <Button Grid.Column="2" Command="{Binding Path=PressAndRelease}" CommandParameter="F2" Content="F2" />
                <Button Grid.Column="3" Command="{Binding Path=PressAndRelease}" CommandParameter="F3" Content="F3" />
                <Button Grid.Column="4" Command="{Binding Path=PressAndRelease}" CommandParameter="F4" Content="F4" />
                <Button Grid.Column="5" Command="{Binding Path=PressAndRelease}" CommandParameter="F5" Content="F5" />
                <Button Grid.Column="6" Command="{Binding Path=PressAndRelease}" CommandParameter="F6" Content="F6" />
                <Button Grid.Column="7" Command="{Binding Path=PressAndRelease}" CommandParameter="F7" Content="F7" />
                <Button Grid.Column="8" Command="{Binding Path=PressAndRelease}" CommandParameter="F8" Content="F8" />
                <Button Grid.Column="9" Command="{Binding Path=PressAndRelease}" CommandParameter="F9" Content="F9" />
                <Button Grid.Column="10" Command="{Binding Path=PressAndRelease}" CommandParameter="F10" Content="F10"  />
                <Button Grid.Column="11" Command="{Binding Path=PressAndRelease}" CommandParameter="F11" Content="F11"  />
                <Button Grid.Column="12" Command="{Binding Path=PressAndRelease}" CommandParameter="F12" Content="F12"  />
            </Grid>
            <Grid Grid.Row="1">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition  Width="0" />
                    <ColumnDefinition Width="0" />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition Width="*" />
                    <ColumnDefinition Width="0" />
                    <ColumnDefinition Width="0" />
                </Grid.ColumnDefinitions>
                <Button Grid.Column="0"	Command="{Binding Path=PressAndRelease}" CommandParameter="ESCAPE" Content="Esc" />
                <Button Grid.Column="1" Command="{Binding Path=PressAndRelease}" CommandParameter="FunctionEnable" Content="Fn"/>
                <Button Grid.Column="2" Command="{Binding Path=PressAndRelease}" CommandParameter="_1" Content="1"/>
                <Button Grid.Column="3" Command="{Binding Path=PressAndRelease}" CommandParameter="_2" Content="2"/>
                <Button Grid.Column="4" Command="{Binding Path=PressAndRelease}" CommandParameter="_3" Content="3"/>
                <Button Grid.Column="5" Command="{Binding Path=PressAndRelease}" CommandParameter="_4" Content="4"/>
                <Button Grid.Column="6" Command="{Binding Path=PressAndRelease}" CommandParameter="_5" Content="5"/>
                <Button Grid.Column="7" Command="{Binding Path=PressAndRelease}" CommandParameter="_6" Content="6"/>
                <Button Grid.Column="8" Command="{Binding Path=PressAndRelease}" CommandParameter="_7" Content="7"/>
                <Button Grid.Column="9" Command="{Binding Path=PressAndRelease}" CommandParameter="_8" Content="8" />
                <Button Grid.Column="10" Command="{Binding Path=PressAndRelease}" CommandParameter="_9" Content="9"/>
                <Button Grid.Column="11" Command="{Binding Path=PressAndRelease}" CommandParameter="_0" Content="0"/>
            </Grid>
            <Grid Grid.Row="2">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="0"/>
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition Width="0"/>
                    <ColumnDefinition Width="0"/>
                    <ColumnDefinition Width="0"/>
                </Grid.ColumnDefinitions>
                <Button Grid.Column="1" Command="{Binding Path=PressAndRelease}" CommandParameter="Q" Content="-"/>
                <Button Grid.Column="2" Command="{Binding Path=PressAndRelease}" CommandParameter="W" Content="/"/>
                <Button Grid.Column="3" Command="{Binding Path=PressAndRelease}" CommandParameter="E" Content=":"/>
                <Button Grid.Column="4" Command="{Binding Path=PressAndRelease}" CommandParameter="R" Content=";"/>
                <Button Grid.Column="5" Command="{Binding Path=PressAndRelease}" CommandParameter="T" Content="(" />
                <Button Grid.Column="6" Command="{Binding Path=PressAndRelease}" CommandParameter="Y" Content=")"/>
                <Button Grid.Column="7" Command="{Binding Path=PressAndRelease}" CommandParameter="U" Content="$"/>
                <Button Grid.Column="8" Command="{Binding Path=PressAndRelease}" CommandParameter="I" Content="&amp;"/>
                <Button Grid.Column="9" Command="{Binding Path=PressAndRelease}" CommandParameter="O" Content="@"/>
                <Button Grid.Column="10" Command="{Binding Path=PressAndRelease}" CommandParameter="P" Content="&quot;"/>


            </Grid>
            <Grid Grid.Row="3">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="0.3*"/>
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition Width="0"/>
                    <ColumnDefinition Width="0"/>
                    <ColumnDefinition Width="1.55*"/>
                </Grid.ColumnDefinitions>
                <Button Grid.Column="1" Command="{Binding Path=PressAndRelease}" CommandParameter="A" Content="A"/>
                <Button Grid.Column="2" Command="{Binding Path=PressAndRelease}" CommandParameter="S" Content="S"/>
                <Button Grid.Column="3" Command="{Binding Path=PressAndRelease}" CommandParameter="D" Content="D"/>
                <Button Grid.Column="4" Command="{Binding Path=PressAndRelease}" CommandParameter="F" Content="F"/>
                <Button Grid.Column="5" Command="{Binding Path=PressAndRelease}" CommandParameter="G" Content="G"/>
                <Button Grid.Column="6" Command="{Binding Path=PressAndRelease}" CommandParameter="H" Content="H"/>
                <Button Grid.Column="7" Command="{Binding Path=PressAndRelease}" CommandParameter="J" Content="J"/>
                <Button Grid.Column="8" Command="{Binding Path=PressAndRelease}" CommandParameter="K" Content="K"/>
                <Button Grid.Column="9" Command="{Binding Path=PressAndRelease}" CommandParameter="L" Content="L"/>
                <Button Grid.Column="12" Command="{Binding Path=PressAndRelease}" CommandParameter="RETURN" Content="return" HorizontalContentAlignment="Right" Padding="10"/>

            </Grid>
            <Grid Grid.Row="4">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="0"/>
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition Width="*"/>
                    <ColumnDefinition />
                    <ColumnDefinition Width="*"/>
                    <ColumnDefinition Width="*"/>
                    <ColumnDefinition Width="0"/>
                    <ColumnDefinition Width="1*"/>
                </Grid.ColumnDefinitions>
                <Button Grid.Column="0" Command="{Binding Path=PressAndHold}" CommandParameter="LSHIFT">
                    <Path Fill="#FF333333" Stretch="Fill" Width="28" Height="24" Data="F1M269.5,262C269.026,262,268.552,262.168,268.171,262.505L259.671,270.505C259.05,271.057,258.835,271.935,259.131,272.71C259.425,273.487,260.169,274,261,274L265,274L265,278C265,279.104,265.896,280,267,280L272,280C273.104,280,274,279.104,274,278L274,274L278,274C278.81,274,279.538,273.513,279.849,272.766C280.157,272.018,279.986,271.158,279.415,270.585L270.914,262.586C270.524,262.197,270.013,262,269.5,262 M269.5,264L278,272L272,272L272,278L267,278L267,272L261,272L269.5,264"/>
                </Button>
                <Button Grid.Column="1" Command="{Binding Path=PressAndRelease}" CommandParameter="Z" Content="."/>
                <Button Grid.Column="2" Command="{Binding Path=PressAndRelease}" CommandParameter="X" Content=","/>
                <Button Grid.Column="3" Command="{Binding Path=PressAndRelease}" CommandParameter="C" Content="?"/>
                <Button Grid.Column="4" Command="{Binding Path=PressAndRelease}" CommandParameter="V" Content="!"/>
                <Button Grid.Column="5" Command="{Binding Path=PressAndRelease}" CommandParameter="B" Content="'"/>
                <Button Grid.Column="6" Command="{Binding Path=PressAndRelease}" CommandParameter="N" Content="="/>
                <Button Grid.Column="7" Command="{Binding Path=PressAndRelease}" CommandParameter="M" Content="+"/>
                <Button Grid.Column="8" Command="{Binding Path=PressAndRelease}" CommandParameter="OEM_COMMA" >*</Button>
                <Button Grid.Column="9" Command="{Binding Path=PressAndRelease}" CommandParameter="OEM_PERIOD" >\</Button>
                <Button Grid.Column="13" Command="{Binding Path=PressAndRelease}" CommandParameter="BACK" >
                    <Path Stretch="Fill" Width="36" Height="24" Data="F1M555.0371,274.4893L552.7871,276.7383L549.9861,273.9373L547.1991,276.7243L545.1131,274.6393L547.9001,271.8523L545.0101,268.9603L547.2601,266.7113L550.1501,269.6023L552.8921,266.8613L554.9761,268.9463L552.2361,271.6883z M555.3751,264.0003L544.8751,264.0003C543.1251,264.1253,535.0001,270.7503,535.0001,272.2503C535.0001,273.7503,543.1251,279.3753,544.8751,279.5003L555.3751,279.5003C558.8751,279.5003,559.3751,277.7093,559.3751,275.5003L559.3751,268.0003C559.3751,265.7913,558.7501,264.0003,555.3751,264.0003" Fill="#FF333333"/>
                </Button>
            </Grid>
            <Grid Grid.Row="5">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="2*"/>
                    <ColumnDefinition Width="0"/>
                    <ColumnDefinition Width="0"/>
                    <ColumnDefinition  Width="5*"  />
                    <ColumnDefinition Width="0"/>
                    <ColumnDefinition Width="0"/>
                    <ColumnDefinition Width="2*"/>
                </Grid.ColumnDefinitions>
                <Button Grid.Column="0" Command="{Binding Path=PressAndHold}" CommandParameter="RSHIFT" Content=".?123" />
                <Button Grid.Column="1" Command="{Binding Path=PressAndHold}" CommandParameter="LCONTROL" Content="Ctrl" />
                <Button Grid.Column="2" Command="{Binding Path=PressAndHold}" CommandParameter="LWIN" FontFamily="WingDings">
                    z</Button>
                <!-- wingdings Windows Logo: ÿ -->
                <!-- wingdings apple cmd key: z -->
                <Button x:Name="btnShowAlfa" Grid.Column="0" ClickMode="Press" Content="ABC" />
                <Button Grid.Column="3" Command="{Binding Path=PressAndRelease}" CommandParameter="SPACE" Content=" "/>
                <Button Grid.Column="4" Command="{Binding Path=PressAndHold}" CommandParameter="MENU" Content="Alt" />
                <Button Grid.Column="5" Command="{Binding Path=PressAndHold}" CommandParameter="LMENU" Content="Menu" />
                <Button Grid.Column="6" Command="{Binding PressAndRelease}" CommandParameter="RETURN" Content="return" HorizontalContentAlignment="Right" Padding="10"/>
            </Grid>
        </Grid>
        <Image HorizontalAlignment="Left" Margin="-450,0,0,-377" Width="163" Stretch="Fill" VerticalAlignment="Bottom" Height="342" Grid.Row="1"/>
    </Grid>

    <!--<CheckBox Canvas.Left="894.223" Canvas.Top="17.02" Height="16.665" Name="checkBox1" Width="17.845" IsChecked="{Binding Source={DynamicResource virtualKeyboard}, Path=Shift, Mode=TwoWay, NotifyOnTargetUpdated=True}"></CheckBox>-->
</UserControl>
